import request from './axios.js'

/**
 * 获取购物车列表接口
 * @returns {Promise}
 */
export const getCartItems = () => {
  return request({
    url: '/api/products/cart/',
    method: 'GET'
  })
}

/**
 * 添加商品到购物车接口
 * @param {Object} data - 商品信息
 * @param {number} data.product - 商品ID
 * @returns {Promise}
 */
export const addToCart = (data) => {
  return request({
    url: '/api/products/cart/items/',
    method: 'POST',
    data
  })
}

/**
 * 更新购物车商品数量接口
 * @param {number} itemId - 购物车项ID
 * @param {Object} data - 更新数据
 * @param {number} data.quantity - 商品数量
 * @returns {Promise}
 */
export const updateCartItem = (itemId, data) => {
  return request({
    url: `/api/products/cart/items/${itemId}/`,
    method: 'PUT',
    data
  })
}

/**
 * 删除购物车商品接口
 * @param {number} itemId - 购物车项ID
 * @returns {Promise}
 */
export const deleteCartItem = (itemId) => {
  return request({
    url: `/api/products/cart/items/${itemId}/`,
    method: 'DELETE'
  })
}